package com.hxkj.dao;

import com.hxkj.domain.po.Article;
import com.hxkj.domain.po.Tags;
import com.platform.common.domain.annotation.EnableDataSource;

import java.util.List;

/**
* 数据操作接口
*
* @author: chenwei
* @version: 1.0
* @datetime: 2018-06-05 19:32:55
*
*/
public interface TagsDao {

    /**
    * @author Mr.zheng
    * @Description saveTags 新增tags标签
    * @Date 11:52 2018/6/6
    **/
    int saveTags(Tags tags);

    /**
    * @author Mr.zheng
    * @Description getTagslist 获取tags标签列表
    * @Date 12:31 2018/6/6
    **/
    @EnableDataSource("slave")
    List<Tags> getTagslist(Tags tags);

    /**
    * @author Mr.zheng
    * @Description getTagsByName 根据标签名字获取标签
    * @Date 13:14 2018/6/7
    **/
    @EnableDataSource("slave")
    List<Tags> getTagsByName(String tagsName,Long siteId);

    /**
    * @author Mr.zheng
    * @Description removerTags 根据tagsID删除
    * @Date 13:46 2018/6/7
    **/
    int removeTagsById(Long tagsId);

    /**
    * @author Mr.zheng
    * @Description getTagsById 根据ID获取Tags
    * @Date 14:01 2018/6/7
    **/
    @EnableDataSource("slave")
    Tags getTagsById(Long tagsId);

    /**
    * @author Mr.zheng
    * @Description modifyTags 修改tags标签
    * @Date 14:08 2018/6/7
    **/
    int modifyTags(Tags tags);

    /**
    * @author Mr.zheng
    * @Description getTagsListByTagsClassifyId 根据分类ID获取tags标签列表
    * @Date 15:05 2018/6/7
    **/
    @EnableDataSource("slave")
    List<Tags> getTagsListByTagsClassifyId(Long tagsClassifyId);

    /**
    * @author Mr.zheng
    * @Description getShowTagsList 获取tags标签下拉框
    * @Date 15:42 2018/6/29
    **/
    @EnableDataSource("slave")
    List<Tags> getShowTagsList(Tags tags);

    /**
     * @author Mr.zheng
     * @Description getQuoteCountTagsList 获取热点标签根据热点排序
     * @Date 8:51 2018/7/12
     **/
    @EnableDataSource("slave")
    List<Tags> getQuoteCountTagsList(Tags tags);

    /**
     * @author zzx
     * @Description getQuoteCountTagsList 获取热度前 20 的tags标签
     * @Date 8:51 2018/7/12
     **/
    @EnableDataSource("slave")
    List<Tags> getTagsListByQuoteCount(Tags tags);

    /**
     * @author zzx
     * @Description getQuoteCountTagsList 根据tagId  查询文章列表
     * @Date 8:51 2018/7/12
     **/
    @EnableDataSource("slave")
    List<Article> getArticleByTag(Tags tags);


    /**
     * @author Mr.zheng
     * @Description getHotTagsList 获取热词标签
     * @Date 11:59 2018/7/20
     **/
    @EnableDataSource("slave")
    List<Tags> getHotTagsList(Tags tags);

    /**
    * @author Mr.zheng
    * @Description getTags 根据ID获取tag
    * @Date 18:12 2018/7/20
    **/
    @EnableDataSource("slave")
    Tags getTags(Tags tags);
}
